#include"drv_key.h"
#include"drv_systick.h"
/**********************
函数名：drv_led_init
函数功能：对key1引脚进行初始化
输入参数：无
输出参数：无
其他：led->PC9低电平
**********************/
void drv_key_init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
    GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN;    
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
	
	GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_9 | GPIO_Pin_8;
    GPIO_Init(GPIOC, &GPIO_InitStruct);
}
uint8_t drv_key1_get(void)
{
	uint8_t ret = 0; // 定义返回值变量，初始化为0（默认未按下）
	if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_9) == RESET)
    {
    	drv_systick_ms(20);
		if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_9) == RESET)
		{
			// 循环等待，直到按键松开（电平恢复为SET/高电平）
            while(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_9) == RESET);
			ret = 1;
		}
    }
	return ret;
}
uint8_t drv_key2_get(void)
{
	uint8_t ret = 0;
	if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8) == RESET)
    {
    	drv_systick_ms(20);
		if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8) == RESET)
		{
			while(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8) == RESET);
			ret = 1;
		}
    }
	return ret;
}

